package com.own.business.system.user.wechat.core.service;

/**
 * SystemUserWechatLoginService
 *
 * @author chenxueli
 * @date 2023-06-30 11:38:00
 */
public interface SystemUserWechatLoginService {

    /**
     * 根据openId登录
     *
     * @param openId      微信openId
     * @param accountType 账号类型 1=普通用户 2=管理员
     * @return 用户id
     */
    Long login(String openId, int accountType);

    /**
     * 验证用户id是否已经绑定微信号
     *
     * @param userId 用户id
     * @return 是否绑定
     */
    boolean isBind(Long userId);

    /**
     * 绑定微信号
     *
     * @param userId 用户id
     * @param openId 微信openId
     */
    void bind(Long userId, String openId);

    /**
     * 绑定微信号
     *
     * @param userId 用户id
     */
    void unbind(Long userId);

}
